데이터베이스를 생성할 경우 선택 가능한 타입이 존재하는데 innodb 또는 isam 등을 선택할 수 있습니다. 이 방법들은 각각 장단점이 존재합니다. 이에 대하여 알아보겠습니다.
InnoDB(이노디비)의 장점은
트랜잭션(transaction)의 사용이 가능하다는 점, 그리고
외래키의 사용 역시 가능한 점입니다. 트랜잭션 기능을 사용하면 서버에 업데이트시 롤백(Rollback) 및 커밋(Commit) 등등 다양한 기능을 수행할 수 있습니다.
이노디비(innodb)가 가진 단점이라면
조금 느리다는 점이있을 수 있겠습니다.
참고로, 이노디비는 테이블의 생성 뒤에도 엔진타입의 변환이 가능합니다. 아래의 예제코드를 봐주세요.
alter table name type=innodb;
! 트랜잭션이란?
위에 언급한 InnoDB의 장점이 트랜젝션이라 했습니다. 트랜젝션은 하나 또는 다수의 쿼리들이 한번에 실행되거나 실행되지 않음을 의미합니다. 이 트랜젝션이 서버에 일어나 쓰여지면 커밋(commit)되었다 할 수 있으며 이를 되돌릴 경우 롤백(Rollback)되었다 하며 이전 상태로 돌아갔음을 의미합니다.
테이블 엔진인 ISAM과 InnoDB 모두 장단점을 가지고 있습니다. 그리고 ISAM의 경우 SELECT 또는 INSERT 등의 명령이 많은 경우 더 적합한 엔진으로 알려져 있습니다.